
The UDeflector Operator lets you use any geometry object
in your scene as a deflector for your particle Groups to interact with.
ON - (Bool) This input data
stream determines whether the operator is considered 'on' or 'off'. You
can connect other operators to this input channel such as a Bool
Helper to activate/deactivate the whole operator.
Time - (Time) This input data stream is used to define the local
time for the operator when the user wants to override the default system
time.
Node - (Node) Connect any operator or helper node that offers
an output data stream to this input. This node will be used to test the
particles against a true surface collision with the connected node object.
In order for this operator to function, you MUST connect a node to this
input data stream.
Particle - (Particle) Connect any other particle data stream to
this input data stream port. You MUST connect a particle node to this
input data stream in order for this operator to function.
Position - (Position) This output data stream supplies
the current particle position to other operators.
Normal - (Normal) This output data stream supplies the normal
vector at the collision point for further processing.
Alignment - (Alignment) This output data stream provides the current
alignment of the particle to other operators or conditions.
Collision - (Bool) This Boolean value indicates if a collision
for the current particle occurred.
Velocity - (Velocity) This output data stream provides the current
particle velocity to other operators or conditions.
UVW - (Vector) This output data stream holds the current UVW coordinate
at the collision point on the object's surface.
Face ID - (Integer) This output data stream holds the Face ID
at the collision point on the selected object's surface.
Face Coordinates - (Vector) This output data stream holds the
Face Coordinates at the collision point on the selected object's surface.

Bounce - This spinner controls the amount of bouncing when a particle
hits the selected object's surface. Values above 1.0 will create energy
with each bounce, while values lower 1.0 will reduce energy per bounce
event.
Variation [%] - This spinner sets the amount of variation within
the Bounce parameter. When the value is increased, more particles will
bounce differently. Use this option to get rid of the sterile uniformity
in the bounce of particles.
Energy Depend - Use this spinner to force the particle bounce
value to a more "energy based" behavior. In other words, faster
particles will bounce more than slower particles as the value is increased.
Surface [%] - This spinner controls the "spring-off"
angle after the collision has occurred. The higher this value gets the
more the angle is tilted towards the surface of the object. At 100%, particles
will appear to be sticking on the surface like water running down a curved
surface.
Chaos [%] - When this spinner value is increased, the bounce off
angles become more random. When chaos equals 0 the bounce off angle will
be based on physically correct rules (incoming angle = outgoing angle).
This is a great feature to simulate uneven terrain with particles bouncing
off in all directions.
Friction [%] - Increase this spinner value to add a constant friction
to the particles that collide and slide along the selected object's surface.
Higher values will make the particles slow down very fast when sliding
on the object's surface.
Vel Inherit. - This spinner sets the amount of Velocity Inheritance
applied to particles hitting the surface. In contrast to the 3ds
Max's own UDeflector, thinkingParticles's UDeflector is able
to work with non-moving particles and transfer impulses to them.
Random Seed - Change this spinner's value to make identical UDeflector
setups look different from each other.
Event Only - Activate this
checkbox to use the UDeflector operator to detect the collision event/position
only. When active, no "bounce-off" will happen to the particles
hitting the surface. To process this event, the Collison output data stream
can be used to activate other operators connected to this port.
UVW Channel - This spinner sets the UVW channel that should be
used to get the UVW coordinates from the selected object's surface.
Front Side - Select this radio button in order to calculate collision
detection on front faces only. Using this option will speed up the collision
engine as it will only check for front faces.
Back Side - Select this radio button in order to calculate collision
detection on back faces only. Using this option will speed up the collision
engine as it will only check for back faces.
Two Sided - When this radio button is active, the collision engine
will perform a two-sided collision test. Each collision on a surface will
invoke a two face test, and this will result in slower simulation and
rendering setup speed.
This sub-section of the rollout menu defines how the size (radius) of
the colliding object should be handled.
None - Select this radio button when you want to use only the
center point for collision detection between particles and the selected
object's surface.
Particle Size (*Value) - When this radio button is active, the
particle size is used as a radial distance to detect collisions between
particles and the selected object's surface.
Value - When this radio button is selected, the Value spinner
below is used to increase or reduce the particle size in relation to collision
detection.
Value - This spinner is used to increase or reduce the particle
size value. When checked the value itself is used as distance check. Keep
in mind that this value influences the Particle Size option! Keep it at
0 to prevent unwanted side effects in the collision detection.
Variation [%] - This spinner is used to get more variation into
the Value amount explained above.
Offset Axis - This dropdown list lets you choose the orientation
of the collision plane. Keep in mind that this plane is needed to keep
the collision system highly optimized and efficient even with thousands
of particles. A detection offset must be specified to help the Deflector
in detecting a proper particle collision between a mesh surface and a
particle.
thinkingParticles will move the particles along a defined axis to detect
a collision in advance. This is like sending out a ray from the particle's
position to seek for an object "in between". For example, setting
the Offset Axis to -Z will move the particle a bit further each step in
the -Z direction to detect a possible collision. The proper choice of
the Offset Axis is very important and depends on the orientation of the
surface with which a particle will collide.